home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / docs / mags / saku11.lha / Teksti / DiskSpare.txt < prev    next >
Text File  |  1995-02-28  |  12KB  |  240 lines

  1. 5
  2. 1*
  3.  
  4. {3                                  DiskSpare II
  5. {3                                  ------------
  6.  
  7.                                   Sami Klemola
  8.  
  9.  
  10. Amigan vakiona käyttämä Trackdisk ei hyödynnä levykkeitä ultimaalisesti.  Saksa-
  11. laisen Klaus Deppischin DiskSpare II ottaa levyasemistasi enemmän irti. DiskSpa-
  12. re II, tästä eteenpäin  DSP,  tallentaa  sektorit  tiukemmin  uralle  muunmuassa
  13. jättämällä tarpeettomat sektoriheaderit pois. Näin  uralle  mahtuu  12  sektoria
  14. Trackdiskin 11 sijaan. Tuloksena on 80  kilotavua  suurempi  kapasiteetti!  Myös
  15. lisänopeutta luvataan. Mutta toimiiko se ja onko se luotettava? Näihin  kysymyk-
  16. siin saat vastauksen aivan pian.
  17.  
  18. Käsittelen tässä artikkelissa myös DSP:n käyttämistä yhdessä PFS:n kanssa,  sekä
  19. annan tarkempaa tietoa myös PFS:n suorituskyvystä. PFS eli  Professional  Filing
  20. System on FFS:n korvaava tiedostojärjestelmä, jonka  esittelen  toisaalla  tässä
  21. lehdessä. 
  22.  
  23.  
  24. {3Mitä DSP tekee?
  25. {3---------------
  26.  
  27. Levykkeestä tulee 960-kiloinen DSP:n alla. Lisäksi on mahdollista käyttää  kaksi
  28. lisäsylinteriä (80 ja 81), jolloin levykkeen kapasiteetti kasvaa 984 kilotavuun.
  29. En suosittele kuitenkaan tätä mahdollisuutta käytettäväksi, koska levykkeiltä on
  30. suunniteltu käytettäväksi vain 80 sylinteriä, joten 82 sylinterin käyttäminen on
  31. levykkeen suorituskyvyn ylittämistä, ja levykkeestä tulee riskialtis tietovaras-
  32. to. DSP tukee myös HD-asemia.  HD-levykkeen  kapasiteetti  nousee  uskomattomaan
  33. 1920 kilotavuun!
  34.  
  35. DSP vaatii toimiakseen käyttöjärjestelmäjulkaisun 2.0. DSP  ei  ole  varsinainen
  36. ohjelma vaan laiteohjain, diskspare.device, joka korvaa  vakiolevyohjain  track-
  37. disk.devicen. DSP:n pitäisi olla A3000:ssa 15 prosenttia  nopeampi  kuin  Track-
  38. disk, mutta ainakin minun koneessani nopeutuminen  on  minimaalista.  DSP-levyk-
  39. keeltä ei voi bootata. 
  40.  
  41.  
  42. {3Miten levyasemaohjain toimii?
  43. {3-----------------------------
  44.  
  45. DSP on standardin Exec-devicen liityntätavan sisältävä laiteohjain.  Normaalisti
  46. tiedostojärjestelmä komentaa sitä. Ohjelmat voivat  myös  käyttää  sitä  suoraan
  47. normaalien asynkronisten tai synkronisten I/O-funktioiden avulla. Laiteohjain ei
  48. pidä kirjaa levykkeen sisällöstä, vaan sen tekee tiedostojärjestelmä, esimerkik-
  49. si FFS tai PFS. Levyaseman laiteohjain lukee sisään uria ja dekoodaa niillä  si-
  50. jaitsevat sektorit. Vastaavasti kirjoitettaessa se koodaa datan.
  51.  
  52. Koodaaminen on tarpeen, koska tieto tallennetaan levylle synkronisesti sarjamuo-
  53. toisena, eikä luettaessa ulkoista kelloa ole saatavilla, joten  datassa  ei  saa
  54. olla liian montaa samaa bittiä peräkkäin, jottei ajastus mene  pieleen.  Koodaa-
  55. malla data sopivalla tavalla varmistetaan, ettei näin pääse käymään. Amigan  le-
  56. vyasemat käyttävät MFM-koodausta. Normaalisti uralla on 11 sektoria,  mutta  DSP
  57. jättää sektoriheaderit pois saadakseen uralle mahtumaan yhden sektorin enemmän.
  58.  
  59. Uria on levykkeellä sylinteriä kohti kaksi, yksi levykkeen yläpuolella ja toinen
  60. alapuolella. Näin sylinterillä on 24 sektoria. Sylintereitä on  80.  Näin  ollen
  61. DSP-levykkeellä on 1920 sektoria. Sektorin koko on yleensä 512 tavua, joten  ka-
  62. pasiteetiksi saadaan 860 kilotavua. Sektorin kokoa voidaan kasvattaa, mutta  le-
  63. vykkeillä se ei ole järkevää. Kovalevylläkin käytettynä se on hyödyllistä  vain,
  64. kun käsitellään suuria tiedostoja, jolloin niiden lukeminen nopeutuu.
  65.  
  66. Amigan vakiotiedostojärjestelmä FFS tuhlaa aina yhden kokonaisen  sektorin  tie-
  67. doston headerille, vaikka sen koko olisi kahdeksan kilotavua.  Tästä  tulee  no-
  68. peasti jopa megatavujen ylimääräinen kulutus. PFS toimii järkevämmin ja  tallen-
  69. taa tiedot älykkäämmin. Se ei käytä tilaa läheskään niin paljon kuin  FFS.  PFS-
  70. asemalla sektorin koon kasvattamista voi jo harkita. Esimerkiksi yhden kilotavun
  71. kokoiset sektorit olisivat käteviä. Silloin Infon näyttämät sektorilukemat  oli-
  72. sivat suoraan kilotavuja. 
  73.  
  74.  
  75. {3HD-aseman käytön tekniikkaa
  76. {3---------------------------
  77.  
  78. Koska suurempaa tallennustiheyttä tukevissa levyasemissa  voidaan  käyttää  kes-
  79. kenään  erikapasiteettisia  levykkeitä,  täytyy   tiedostojärjestelmän   tietää,
  80. minkäkokoinen levyke asemassa milloinkin on. Se tapahtuu  monen  mutkan  kautta.
  81. Ensimmäiseksi trackdisk.device havaittuaan, että  asemaan  on  laitettu  levyke,
  82. tiedustelee disk.resourcelta aseman tyypin. Disk.resource lähettää asemalle tie-
  83. don, että se haluaa tietää, minkätyyppinen levyke on. Vastineeksi asema lähettää
  84. 32-bittisen ID-koodin, josta disk.resource saa  tietää  levykkeen  kapasiteetin.
  85. HD-levykeasema asettaa itsensä syötetyn levykkeen mukaan DD- tai HD-tilaan.  Jos
  86. HD-asemaan laitetaan DD-levyke, levyasema käyttäytyy aivan kuin se olisi DD-ase-
  87. ma.
  88.  
  89. Tämä jälkeen trackdisk.device tietää levykkeen tyypin, mutta tiedostojärjestelmä
  90. ei. Kun tiedostojärjestelmä havaitsee uuden levykkeen, se lähettää trackdisk.de-
  91. vicelle komennon TD_GETGEOMETRY. Komentoon liittyy datastruktuuri, johon  track-
  92. disk.device täyttää aseman  senhetkiset  attribuutit  eli  urien,  sektorien  ja
  93. päiden määrän sekä sektoreiden koon ja paljon muutakin  tietoa.  Trackdisk.devi-
  94. celtä saamiensa tietojen mukaan FFS toimii jatkossa.
  95.  
  96. Tämä mekanismi on periaatteessa toimiva ja käytännöllinen, mutta ongelma on ole-
  97. massa. Useat kolmansien osapuolien tekemät laiteohjaimet eivät tue GetGeometryä.
  98. Kaiken lisäksi ne eivät edes palauta oikeaa virhekoodia tai jopa toimivat täysin
  99. väärin, esimerkiksi formatoiden levyn! Tuloksena olisi joko levykkeen  toimimat-
  100. tomuus tai jopa koneen kaatuminen. Tästä syystä  FFS  kutsuu  GetGeometryä  vain
  101. trackdisk.devicen tapauksessa. Näin varmistetaan, että saatu tieto on  aina  oi-
  102. keaa. Tämä on valitettava takaisku, mutta pakollinen, koska kolmannet  osapuolet
  103. tekevät yleensä ohjelmansa ihan miten sattuu.
  104.  
  105. Koska FFS ei suostu kutsumaan GetGeometryä muilla laiteohjaimilla,  on  diskspa-
  106. re.deviceen ollut pakko tehdä hacki, että HD-levykkeiden käyttäminen olisi  mah-
  107. dollista. DSP joutuu itse muuttamaan FFS:n  sisäisen  datastruktuurin  sisältöä,
  108. mikä on vaarallista ja jopa kiellettyä. Tässä voi  piillä  vaaroja.  Privaattien
  109. struktuurien rakenne voi muuttua, jolloin DSP ei enää toimisi,  vaan  voisi  ai-
  110. heutta vakavia tuhoja. Toistaiseksi kaikki toimii, eikä tästä pitäisi  olla  ny-
  111. kyisellään vaaraa. 
  112.  
  113.  
  114. {3Kaikki irti levyasemista
  115. {3------------------------
  116.  
  117. Meillä on kaksi levyasemien toimintaa tehostavaa ohjelmaa, PFS ja  DSP.  Saisiko
  118. ne toimimaan yhdessä vieläkin paremman  suorityskyvyn  aikaansaamiseksi?  Kyllä!
  119. Pienen yrittämisen ja virittämisen jälkeen onnistuin tekemään  MountList-entryn,
  120. jolla sain tehtyä itselleni aseman, jolla Professional Filing Systemin alla toi-
  121. mii diskspare.device. Myöhemmin myös PFS:n tekijä toimitti vastaavan, mutta enää
  122. sitä ei ole saatavilla. Tässä on entry, jolla PFS ja DSP  saadaan  tekemään  yh-
  123. teistyötä: 
  124.  
  125. PS0:
  126. FileSystem      = l:ProfFileSystem
  127. Device          = diskspare.device
  128. Priority        = 10
  129. Unit            = 0
  130. Flags           = 1
  131. Surfaces        = 2
  132. BlockSize       = 512
  133. BlocksPerTrack  = 12
  134. Reserved        = 2
  135. Interleave      = 0
  136. LowCyl          = 0
  137. HighCyl         = 79
  138. StackSize       = 5000
  139. Buffers         = 32
  140. BufMemType      = 0
  141. Mount           = 1
  142. GlobVec         = -1
  143. DosType         = 0x50465300
  144. MaxTransfer     = 2097152
  145. Mask            = 0x7ffffffe
  146. #
  147.  
  148. Jos haluat käyttää ensimmäisen sisäisen aseman asemasta esimerkiksi  ensimmäistä
  149. ulkoista (toista sisäistä) asemaa, vaihda aseman tunnukseksi PS1 ja Unitiksi  1.
  150. Mikään ei tietysti estä kutsumasta tätäkään asemaa PS0:ksi, mutta se  voisi  ai-
  151. heuttaa sekaannusta, ja jos sinulla jo on PS0, se on mahdotonta, koska  DOS-ase-
  152. milla pitää olla ainutlaatuinen asematunnus. Mihin PFS  ja  DSP  sitten  yhdessä
  153. pystyvät, selviää seuraavassa luvussa. Siinä kerron tekemieni testien tulokset. 
  154.  
  155.  
  156. {3Ohjelmien suorituskyky
  157. {3----------------------
  158.  
  159. Seuraavana on taulukko, joka havainnollistaa PFS:n ja DSP:n suorituskykyä.  Tes-
  160. tissä kopioin RAM-asemalta levykkeelle 173 tiedostoa 73 alihakemistossa. Käytet-
  161. ty laitteisto on A3000-25, jossa ei testauksen  aikana  ajettu  muita  ohjelmia.
  162. Luettaessa tiedostot kopioitiin takaisin RAM-asemalle.  Hakemistolistaus  ohjat-
  163. tiin >NIL:-asemalle, jolloin tulostus- tai siihen liittyvä  tiedostotoiminta  ei
  164. kuluttanut ylimääräistä tehoa, vaan tuloksiin saatiin oikeammat luvut. 
  165.  
  166. Käytetyt lyhenteet:
  167.  
  168.          FFS      Fast Filing System
  169.          PFS      Professional Filing System
  170.          TRK      Trackdisk
  171.          DSP      DiskSpare II
  172.  
  173.                   FFS/TRK  PFS/TRK  FFS/DSP  PFS/DSP
  174.  
  175. Lukeminen              44       28       40       26  sekuntia
  176. Kirjoittaminen        201       34      197       32  sekuntia
  177. Hakemistolistaus       26        7       22        7  sekuntia
  178. Tuhoaminen             21        2       22        1  sekunti(a)
  179. Vapaata tilaa         464      630      624      790  blokkia
  180.  
  181. Koko/käytössä       879/2    879/9    959/2    959/9  kt/blokkia
  182.  
  183. Taulukko 1. PFS:n ja DSP:n vertailu vakiojärjestelmiin.
  184.  
  185. Taulukko  kertoo  meille  paljon  ohjelmien  suorituskyvystä.  Ensiksi  pistävät
  186. silmään tilaluvut. DSP-levyke on jo alunalkaen 80 kilotavua suurempi kuin Track-
  187. disk-levyke, koska jokaisella uralla on yksi  sektori  enemmän.  Levyllä,  jolla
  188. käytettiin sekä PFS:ää että DSP:tä, vapaan levytilan määrä on miltei  kaksinker-
  189. tainen vakiolevykkeeseen verrattuna.
  190.  
  191. Nopeuksissa erityisesti pistää silmään se, että  FFS  lukee  viidesosassa  siitä
  192. ajasta, jonka se tarvitsee samojen tietojen kirjoittamiseen.  Vertailtaessa  no-
  193. peuslukemia Trackdiskin ja DSP:n välillä havaitaan, että DSP ei ole  paljon  no-
  194. peampi. Tiedostojen tuhoaminen oli jopa hitaampaa  DSP-levykkeeltä  kuin  Track-
  195. disk-levykkeeltä. Lukeminen levyltä tuntuisi olevan tuollaiset 10 prosenttia no-
  196. peampaa, mutta kirjoittaminen ei ole sanottavasti nopeampaa  kuin  Trackdisk-le-
  197. vykkeelle.
  198.  
  199. Erot tiedostojärjestelmien välillä taas ovat huomattavat. PFS:n lupaus  50  pro-
  200. senttia nopeammasta lukemisesta ei kyllä täyttynyt,  vaan  testissäni  lukemisen
  201. nopeuskasvu jäi noin 35 prosenttiin, mutta huomattava kasvu se on sekin. Hurjil-
  202. ta kuulostavat lupaukset 3-5 kertaa nopeammasta kirjoituksesta eivät  pettäneet.
  203. PFS kirjoittaa melkein yhtä nopeasti kuin lukee. Testissäni FFS kirjoitti tieto-
  204. ja kuusi kertaa niin kauan kuin PFS. Tuollaisen tietomäärän jälkeen tulee  tosin
  205. paljon päivitettävää hakemistotietoa. PFS päivittelikin levyä  vielä  kymmenisen
  206. sekuntia kirjoittamisen jälkeen, joten itse asiassa kirjoittaminen ei ollut  ai-
  207. van noin nopeaa.
  208.  
  209. Hakemistolistaus tulostui PFS-levykkeellä seitsemässä sekunnissa. Poistin levyk-
  210. keen asemasta ennen tämän testaamista, jotta tietoa ei olisi valmiiksi  muistis-
  211. sa. Seuraavilla listauskerroilla levyä ei tarvinnut lukea, koska  tiedot  olivat
  212. jo RAMissa. Näin ollen listausaika laski alle sekuntiin. Käytännössä listaukseen
  213. kului se aika, jonka tietojen siirtäminen PFS:n taulukoista List-komennon tulos-
  214. tukseen vei.
  215.  
  216. Kaikkien 73 hakemiston ja 173 tiedoston tuhoaminen PFS-levykkeeltä kävi noin se-
  217. kunnissa. Hakemiston päivittämiseen riitti yhden uran kirjoittaminen. Erityises-
  218. ti  PFS:n  hakemistotoimintoihin,  mutta   myös   DSP:n   toimintaan   vaikuttaa
  219. käytettävissä oleva prosessoriteho. Lukemat ovat  varmaankin  hieman  pienempiä,
  220. kun koneena on A500 tai A1200. Vastaavasti A4000:lla saadaan  vieläkin  parempia
  221. lukemia. 
  222.  
  223.  
  224. {3Loppuarvostelu
  225. {3--------------
  226.  
  227. DSP on freewarea, joten sen käyttämisestä ei tarvitse maksaa mitään!  Käytössäni
  228. olen havainnut sen luotettavaksi eikä ongelmia  ole  esiintynyt.  Päin  vastoin,
  229. diskspare.device korjaa  jopa  joitakin  trackdisk.devicen  bugeja.  Esimerkiksi
  230. Trackdiskin yleistä ongelmaa,  lukuvirheisiin  johtavaa  ajoitusbittien  käänty-
  231. mistä, ei DSP:n kanssa ole. Sen tuoma lisäkapasiteetti on mukava piriste  levyk-
  232. keiden käyttöä ajatellen.
  233.  
  234. Kummatkin esittelemäni levynkäyttöä tehostavat ohjelmat ovat erittäin hyviä,  ja
  235. ne kannattaa ehdottomasti hankkia. PFS ja DSP kuuluvat  kaikkien  varteenotetta-
  236. vien BBS:ien valikoimiin. Ainakin omassani kummatkin ovat  saatavilla,  ja  voin
  237. myös toimittaa ne postitse kympin kolikkoa  (kerään  niitä)  tai  kahta  korppua
  238. (saat kummatkin takaisin ohjelmin) ja palautuskuorta ja  -postimerkkiä  vastaan.
  239. Myös koordinaattoreilta ohjelmia kannattaa kysellä. 
  240.